package com.example.demo.repository;

import com.example.demo.entity.BankAccountEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author xzy
 * @date 2020-11-08 14:32
 * 说明：
 */
@Repository
public interface BankAccountRepository extends JpaRepository<BankAccountEntity, String>, JpaSpecificationExecutor<BankAccountEntity> {

    /**
     * 判断账号是否已经被占用
     *
     * @param account    - 待检测的账号
     * @param deleteFlag - 数据逻辑删除标识（0：未删除 1：已删除）
     * @return - true：已经被占用  false：尚未被占用
     */
    boolean existsByAccountAndDeleteFlag(String account, String deleteFlag);

    /**
     * 查找银行账户信息
     *
     * @param account    - 账号
     * @param deleteFlag - 数据逻辑删除标识（0：未删除 1：已删除）
     * @return - 账号对应的账户信息
     */
    List<BankAccountEntity> findAllByAccountAndDeleteFlag(String account, String deleteFlag);
}
